"""
PV配置和预设参数模块

该模块定义了RFQ系统所需的EPICS PV配置和系统预设参数。
包含两个主要配置部分：
1. PV_CONFIG：EPICS PV的配置字典
2. PRESET_PARAMETERS：系统运行参数配置

PV配置说明：
- 功率控制相关PV：用于RF功率的设定、监控和控制
- 真空系统相关PV：用于监控各个区域的真空度
- 联锁系统相关PV：用于系统安全联锁控制
- 频率控制相关PV：用于RF频率的调节和监控
- 模式控制相关PV：用于pulse/CW模式的选择和控制

预设参数说明：
- 开环初始值：系统启动时的初始功率设定
- 腔体幅度设定步长：功率调节的步进值
- 腔体功率裕度：功率控制的容差范围
- 腔体真空阈值：真空度报警阈值
- 脉冲宽度：脉冲模式下的脉冲宽度

注意事项：
1. PV名称必须与EPICS系统配置一致
2. 预设参数需要根据实际系统特性调整
3. 修改配置后需要重启系统才能生效
"""

# PV配置
PV_CONFIG = {
    # 功率控制相关PV
    'powerTarget': 'RFQ_RF:LLRF_01:PowTarg',           # 目标功率设定值 (kW)
    'rf_on': 'iLinac_RFQ:LLRF_MC01:RFOn',              # RF系统开关控制 (0 off 1 on)
    'amplitude_cw_drive': 'iLinac_RFQ:LLRF_MC01:AmpCWDrive',  # CW驱动幅度设定
    'amplitude_pulse_drive': 'iLinac_RFQ:LLRF_MC01:AmpPulseDrive',  # 脉冲驱动幅度设定
    'cavity_power': 'iLinac_RFQ:LLRF_MC01:rf3power',   # 腔体实际功率反馈
    
    # 模式控制相关PV
    'pulsecwmode': 'iLinac_RFQ:LLRF_MC01:pulsecw',  # 脉冲/CW模式选择
    'pulse_width': 'iLinac_RFQ:LLRF_MC01:pulseontime',   # 脉冲宽度设定
    
    # 频率控制相关PV
    'tracking_frequency_on': 'iLinac_RFQ:LLRF_MC01:frequency_tracking',  # 频率自动跟踪开关
    'sweep_frequency': 'iLinac_RFQ:LLRF_MC01:sweepfrequency',  # 频率扫描控制开关
    
    # 自动加载控制PV
    'start_load_on': 'RFQ_RF:LLRF_01:AutoLoad',        # 自动加载启动控制
    'end_load_on': 'RFQ_RF:LLRF_01:EmrgStop',          # 紧急停止控制
    
    # 真空系统相关PV
    'coupler1_vacuum': 'iLINAC_RFQ_VAC_CP:VG01:Pres01',  # 耦合器1真空度
    'coupler2_vacuum': 'iLINAC_RFQ_VAC_CP:VG02:Pres01',  # 耦合器2真空度
    'coupler3_vacuum': 'iLINAC_RFQ_VAC_CP:VG02:Pres02',  # 耦合器3真空度
    'coupler4_vacuum': 'iLINAC_RFQ_VAC_CP:VG01:Pres02',  # 耦合器4真空度
    'cavity_vacuum': 'iLINAC_RFQ_VAC:VG01:Pres03',      # 腔体真空度
    
    # 联锁系统相关PV
    'Arc_lock': 'iLinac_RFQ:LLRF_MC01:Arc_Lock',       # 电弧锁定状态
    'Interlock_status': 'iLinac_RFQ:LLRF_MC01:Interlock_Status',  # 系统联锁状态
    'RFPWFailStatus1': 'iLinac_RFQ:LLRF_MON01:RFPWFailStatus1',   # 功率故障状态1
    'RFPWFailStatus2': 'iLinac_RFQ:LLRF_MON01:RFPWFailStatus2',   # 功率故障状态2
    'ResetInterlock': 'iLinac_RFQ:LLRF_MC01:ResetInterlock',      # 联锁复位控制
    'ResetPWFaultStat': 'iLinac_RFQ:LLRF_MON01:ResetPWFaultStat'  # 功率故障复位控制
}

# 预设参数
PRESET_PARAMETERS = {
    'openloop_init': 1000,              # 开环的初始增益
    'cavity_power_margin': 0.05,        # 腔压功率的门限
    'cavity_vacuum_threshold': 1.5e-5   # 真空的限值
} 